/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package satk.objetos;

import java.io.Serializable;
import java.util.List;
import satk.beans.interfaces.IntObjetos;

/**
 *
 * @author NightNote
 */
public class Categoria
        implements IntObjetos, Serializable{
    
    private static final long serialVersionUID = 67870650L;
    private int identificador;
    private String nombre;
    private String siglas;

    public Categoria() {
    }

    public Categoria(int identificador, String nombre, String siglas) {
        this.identificador = identificador;
        this.nombre = nombre;
        this.siglas = siglas;
    }
   
   
    @Override
    public Integer getIdentificador() {
        return identificador;
        
    }

    @Override
    public void setIdentificador(Integer identificador) {
        this.identificador = identificador;
        
    }
    public String getNombre() {
        return nombre;
    }
    
    public void setNombre(String nombre){
        this.nombre = nombre;
    }

    public String getSiglas() {
        return siglas;
    }

    public void setSiglas(String siglas) {
        this.siglas = siglas;
    }
    

    @Override
    public String toString() {
        String format = "CATEGORIA@(%d;%s;%s";
        return String.format(format, identificador, siglas, nombre);
    }
    @Override
    public Object clon() {
        try {
            return this.clone();
        } catch (CloneNotSupportedException ex) {
        }
        return null;
    }

    @Override
    public List<Throwable> valida() {
        java.util.List<Throwable> list = new java.util.LinkedList<Throwable>();
        if(nombre.isEmpty()){
            list.add(new Throwable("Inique el nombre de la categoría"));
        }
        if(siglas.isEmpty()){
            list.add(new Throwable("Inique las siglas de la categoría"));
        }
        return list;
    }
    
    
}
